﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using FlotasDesktop;
using System.Data.SqlClient;

namespace GestorDeFlotasDesktop.AbmCliente
{
    public partial class ListadoCliente : Form
    {
        String conexion;
        Boolean modificacion;
        Boolean baja;

        public ListadoCliente()
        {
            InitializeComponent();
            dataGridView1.Enabled = false;
            Utils utils = new Utils();
            conexion = utils.cargarProperties();
        }

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex == 0)
                this.ejecutarSeleccion(e);
        }


        public void setearFormModificacion()
        {
            this.modificacion = true;
            this.baja = false;
        }

        public void setearFormBaja()
        {
            this.modificacion = false;
            this.baja = true;
        }

        private void ejecutarSeleccion(DataGridViewCellEventArgs e)
        {
            String id = dataGridView1.CurrentRow.Cells[1].Value.ToString();
            String nombre = dataGridView1.CurrentRow.Cells[2].Value.ToString();
            String apellido = dataGridView1.CurrentRow.Cells[3].Value.ToString();
            String dni = dataGridView1.CurrentRow.Cells[4].Value.ToString();
            String telefono = dataGridView1.CurrentRow.Cells[5].Value.ToString();
            String direccion = dataGridView1.CurrentRow.Cells[6].Value.ToString();
            String mail = dataGridView1.CurrentRow.Cells[7].Value.ToString();
            DateTime fechaNacimiento = Convert.ToDateTime(dataGridView1.CurrentRow.Cells[8].Value);
            Boolean habilitiado = Convert.ToBoolean(dataGridView1.CurrentRow.Cells[9].Value);

            if (this.baja)
            {
                BajaCliente baja = new BajaCliente();
                baja.mostrateConCampos(id, nombre, apellido, dni, telefono, direccion, mail, fechaNacimiento, habilitiado);
            }
            else
            {
                ModificacionCliente modificacion = new ModificacionCliente();
                modificacion.mostrateConCampos(id, nombre, apellido, dni, telefono, direccion, mail, fechaNacimiento, habilitiado);

            }

        }

        private void buscarButton_Click(object sender, EventArgs e)
        {
            using (SqlConnection connection = new SqlConnection(conexion))
            {
                try
                {
                    using (SqlCommand command = new SqlCommand())
                    {

                        connection.Open();
                        command.Connection = connection;
                        command.CommandType = System.Data.CommandType.StoredProcedure;
                        command.CommandText = "TEQUILASO.sp_buscarCliente";



                        command.Parameters.Add(new SqlParameter("@Nombre", nombreTextBox.Text));
                        command.Parameters.Add(new SqlParameter("@Apellido", apellidoTextBox.Text));
                        if (dniTextBox.Text == "")
                            command.Parameters.Add(new SqlParameter("@DNI", DBNull.Value));
                        else
                            command.Parameters.Add(new SqlParameter("@DNI", Convert.ToInt32(dniTextBox.Text)));
                        using (SqlDataAdapter adapter = new SqlDataAdapter(command))
                        {
                            DataSet ds = new DataSet();
                            adapter.Fill(ds);
                            dataGridView1.DataSource = ds.Tables[0];

                        }


                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            if (dataGridView1.CurrentRow == null)
            {
                dataGridView1.Enabled = false;
            }
            else 
            {
                dataGridView1.Enabled = true;
            }

        }

        private void limpiarButton_Click(object sender, EventArgs e)
        {
            nombreTextBox.Text = "";
            dniTextBox.Text = "";
            apellidoTextBox.Text = "";
        }
    }
}
